package com.woshua.gsonmodel

import com.google.gson.annotations.SerializedName


/**
 * @author Steven.zhao
 * email:hongtu.zhao@goodwinsoft.net
 * date:2019/7/23
 * desc:@SerializedName(value = "user_name",alternate = arrayOf("name","username")) 配置Json字段名字
 * @Expose:参与序列化和反序列化  GsonBuilder().excludeFieldsWithoutExposeAnnotation()常规方法不适用，需要构建者
 * @Expose(serialize = true,deserialize = false):可以序列化，反序列化没有数值:toJson有信息,fromJson没有信息
 * 注意:
 * 一旦使用@Expose,后面所有的字段都需要显示的标记是否暴露出来,如果没有则序列化合反序列化没有数值
 */
class User {
    @SerializedName(value = "user_name",alternate = arrayOf("name","username"))
    var name:String?=""
    var age=0
    var languages= ArrayList<String>()

    override fun toString(): String {
        return """
            {
              "name":"$name",
              "age":"$age"
              "languages":"$languages"
            }
        """.trimIndent()
    }
}